package com.example.zhunongzonghe.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.zhunongzonghe.beans.ZnFarmEvaluateBean;
import com.example.zhunongzonghe.entity.ZnFarmEvaluate;

/**
* @author 蔡某人
* @description 针对表【zn_farm_evaluate】的数据库操作Service
* @createDate 2024-04-17 16:39:26
*/
public interface ZnFarmEvaluateService extends IService<ZnFarmEvaluate> {

    /**
     * 用户对当前农产品进行评价
     * @param znFarmEvaluateBean
     */
    void addFarmEvaluate(ZnFarmEvaluateBean znFarmEvaluateBean,String userName);

    /**
     * 用户对当前农产品评价进行编辑
     * @param znFarmEvaluateBean
     * @param userName
     */
    void editFarmEvaluate(ZnFarmEvaluateBean znFarmEvaluateBean,String userName);

    /**
     * 通过评价id获取当前订单详情内农产品的评价
     * @param evaluateId
     * @return
     */
    ZnFarmEvaluateBean getEvaluateId(Integer evaluateId);

    /**
     * 农产品全部评价
     * @param farmId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnFarmEvaluateBean> selectEvaAll(Integer farmId,Integer createPage,Integer pageSize);

    /**
     * 查询评分为4和5的农产品评价
     * @param farmId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnFarmEvaluateBean> selectFourAndFive(Integer farmId,Integer createPage,Integer pageSize);

    /**
     * 查询评分为3的农产品评价
     * @param farmId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnFarmEvaluateBean> selectThree(Integer farmId,Integer createPage,Integer pageSize);

    /**
     * 查询评分为1和2的农产品评价
     * @param farmId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnFarmEvaluateBean> selectOneAndTow(Integer farmId,Integer createPage,Integer pageSize);

    /**
     * 后台查询全部农产品评价
     * @param currentPage
     * @param pageSize
     * @param searchInfo
     * @return
     */
    Page<ZnFarmEvaluateBean> managementAll(Integer currentPage,Integer pageSize,Object searchInfo);
}
